Personal computers, printers, and disc or tape drives are often connected in daisy chain, star, or other configurations. Normally, each device has two ports and is connected to other devices by cables each of which has a plurality of lines. The devices communicate electronic signals to each other over the lines. The lines should be terminated with a termination device (typically resistors) at the first and last device in the chain. The resistors are selected according to the characteristic impedance of the lines. Each signal line and its corresponding return path (source of potential or ground) form a transmission path, typically in a single twisted pair wire. The terminating impedance is coupled between the lines across the signal path. The resistors must be provided within each device or added externally at both ends of the chain.
Specifically, the SCSI (Small Computer System Interface) bus is an ANSI standard bus designed for high speed data interchange between small computer systems and peripheral devices, such as disk drives and printers. The hardware definition of the bus specifies a multiple transmission line cable that can daisy-chain up to eight devices, and which must be terminated in its characteristic impedance at each end.
The SCSI bus cable (which may consist of multiple cables daisy-chained together between devices) must be terminated in its characteristic impedance at each end and nowhere else. Not terminating the cable can result in excessive signal ringing on the cable, and terminating at places other than the ends of the cable can result in excessive loading to the cable driving circuits. Both types of improper termination may result in data loss and customer perceived reliability problems. Currently, it is the customer's responsibility to manually assure that the bus is properly terminated. As the SCSI bus becomes more popular, more customers are having difficulty doing this properly.
Numerous techniques are generally available for non-SCSI buss devices to determine when it is appropriate to terminate their buss, but these techniques are not available to SCSI buss devices. For example, Petty, Jr. (U.S. Pat. No. 4,723,102) describes a method of daisy-chaining multiple RS-232 or V.25 devices, and Billian (U.S. Pat. No. 4,914,625) describes a method of detecting other devices in a daisy chain connection through the use of "bypass in" and "bypass out" dedicated signals.
The difficulty in applying these techniques to SCSI devices is due to the requirement of dedicated signal lines used solely to determine whether there are other devices connected in the daisy chain. In the case of Petty, a sense line is used for this function and in the case of Billian, the "bypass in" and "bypass out" signals are used. No such signals can be used for SCSI devices to detect other devices in the chain because the signals for the SCSI buss are specified already, and no provision is made in the buss specification for dedicated signals to sense termination status or daisy-chained devices.
Consequently, a need exists for SCSI devices to be able to automatically determine the presence of devices connected to their output buss connector without the use of dedicated sense signals.
Aranguren, et al (U.S. Pat. No. 4,674,085) gives a method of mechanically determining the presence of daisy-chained devices on a telephone network by using connectors specifically modified with mechanical switches that detect the presence of a plugged-in cable. Such a method can be used on SCSI-based devices, but cannot detect the condition caused when a user has connected a cable to the sensing device, without connecting a device to the other end of the cable. This condition occurs in situations where portable or disconnectable equipment is connected and disconnected from the SCSI buss on a temporary basis.
Most devices designed for connection to the SCSI buss have an "in" connector and "out" connector, where the "in" connector is designed to be connected to the host computer (possibly through other SCSI devices daisy-chained to the buss) and the "out" connector to serve for extending the daisy chain to further devices. The "in" and "out" connectors are identical, and can be confused by the user, so it is also desirable to assure that any termination sensing system is not dependent upon which of the "in" and "out" connectors is connected to the host computer.
A need, therefore, exists for an electronic means for a SCSI device to detect whether or not the SCSI buss ends at the device, or is continued to another device, so that the buss may be terminated properly. If the end of the buss is detected by the device, it must terminate the buss in its characteristic impedance, through the use of electronically switchable terminators (such as those described by Feldbaumer, et al, U.S. Pat. No. 5,029,284). If further daisy-chained devices are detected, the termination is switched off. This detection should be automatic and insensitive to which SCSI connector is connected to the host computer. This means must do the detection without adding signal lines to the SCSI buss, and without disturbing the function of the signal lines already defined on the buss. It must also be able to function properly with other devices attached to the buss without regard to whether these other devices have similar automatic sensing circuits installed.